Release Notes for WM DRM Porting Kit Tests

1. By default the compile flag for secure clock is set to 0 (DRM_SUPPORT_SECURE_CLOCK=0) in source\makefile.msc. And SecureClock test is not built. To enable secure clock test, set this flag to 1 in source\makefile.msc and test\pktestmk.msc. The secure clock test cases (11560, 11557 and 11620) will fail and are expected if DRM_SUPPORT_SECURE_CLOCK is not set to 1.

2. By default the compile flags for supporting CRL are set to 0 (DRM_SUPPORT_PFD=0, DRM_SUPPORT_DEVICE_REVOCATION=0,
DRM_SUPPORT_APP_REVOCATION=0) in source\makefile.msc. To enable CRL support test, set these flags to 1 in source\makefile.msc and test\pktestmk.msc. 24 CRL related test cases (30010-30250) will fail with "TestManagerSetRevocationInfo returns -2147467263(0X80004001)" and these failures are expected if the mentioned flags are not set to 1.

3. Current test certs (testcerts.txt under test\common folder) will expire on July 11, 2006. Please refer to
WMDRMPD_TestToolkit.doc for the steps to update the testcerts.txt.

4. The test case 10517 of secure clock test component require to turn off "Automatically adjust clock for daylight saving changes" in Control Panel before running this test case.


Files and Directories
=================================================

pktestmk.cmn, pktestmk.msc - test makefiles

./Harness - vb scripts to run tests

There are other sub folders for test areas.



Build the Test Projects
===========================================================

(1) Set Environment Variables

To build the source, you must first set some environment variables:

  set INCLUDE=<your development environment include path>
  set LIB=<your development environment lib path>

The test oem layer uses Windows APIs. Therefore a Windows development
environment is required. A test oem layer should be implemented for
non-Windows environment.

(2) Build the Porting Kit Source Code in ..\Source

(3) Build the Test Code

From the Test folder, issue the following commands:

  nmake -f pktestmk.msc init
  nmake -f pktestmk.msc free
  nmake -f pktestmk.msc chk
  
The "init" operation creates all target folders; the "free" and "chk" operations build release and debug builds respectively.

To clean both build types, issue the following command:

  make -f pktestmk.msc clean

Run Tests
===========================================================

(1) Run full tests:
cd Harness
cscript runWMDRMPDPKTest.vbs
cscript SendWMDRMPDPKTestResult.vbs -noemail

Test results are in Test\TestResults\[today]\FullTestResult.htm

(2) Run BVT (Build Verification Tests) only:
cd Harness
cscript runWMDRMPDPKTest.vbs -bvt
cscript SendWMDRMPDPKTestResult.vbs -bvt -noemail

Test results are in Test\TestResults\[today]\BVTResult.htm

(3) Run Functional tests only:
cd Harness
cscript runWMDRMPDPKTest.vbs -func
cscript SendWMDRMPDPKTestResult.vbs -func -noemail

Test results are in Test\TestResults\[today]\FunctionalResult.htm
